package com.youlai.boot.system.model.form;

import java.io.Serial;
import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;

/**
 * 新产品 线表单对象
 *
 * @author lwb
 * @since 2025-07-14 16:24
 */
@Getter
@Setter
@Schema(description = "新产品 线表单对象")
public class LpsOrderXianForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "莱普森订单id")
    private Long orderId;

    @Schema(description = "采购订单")
    @Length(max = 64, message = "采购订单长度不能超过64个字符")
    private String cgdd;

    @Schema(description = "PO行项目")
    @Length(max = 64, message = "PO行项目长度不能超过64个字符")
    private String poxxm;

    @Schema(description = "销售订单")
    @Length(max = 64, message = "销售订单长度不能超过64个字符")
    private String xsdd;

    @Schema(description = "SO行项目")
    @Length(max = 64, message = "SO行项目长度不能超过64个字符")
    private String soxxm;

    @Schema(description = "物料")
    @Length(max = 64, message = "物料长度不能超过64个字符")
    private String wl;

    @Schema(description = "描述")
    @Length(max = 64, message = "描述长度不能超过64个字符")
    private String ms;

    @Schema(description = "图号/版本")
    @Length(max = 64, message = "图号/版本长度不能超过64个字符")
    private String thbb;

    @Schema(description = "子件")
    @Length(max = 64, message = "子件长度不能超过64个字符")
    private String zj;

    @Schema(description = "数量")
    @Length(max = 64, message = "数量长度不能超过64个字符")
    private String sl;

    @Schema(description = "交货日期")
    @Length(max = 64, message = "交货日期长度不能超过64个字符")
    private String jhrq;

    @Schema(description = "库存地")
    private String kcd;

    @Schema(description = "仓位1")
    private String cw1;

    @Schema(description = "安装所在国家或地区")
    @Length(max = 64, message = "安装所在国家或地区长度不能超过64个字符")
    private String azszgjhdq;

    @Schema(description = "CAR_SAFETY_GEAR_TYPE")
    @Length(max = 64, message = "CAR_SAFETY_GEAR_TYPE长度不能超过64个字符")
    private String carSafetyGearType;

    @Schema(description = "HK")
    @Length(max = 64, message = "HK长度不能超过64个字符")
    private String hk;

    @Schema(description = "BK")
    @Length(max = 64, message = "BK长度不能超过64个字符")
    private String bk;

    @Schema(description = "TK")
    @Length(max = 64, message = "TK长度不能超过64个字符")
    private String tk;

    @Schema(description = "GRP_ALARM_TYPE")
    @Length(max = 64, message = "GRP_ALARM_TYPE长度不能超过64个字符")
    private String grpAlarmType;

    @Schema(description = "MARKET_CLUSTER")
    @Length(max = 64, message = "MARKET_CLUSTER长度不能超过64个字符")
    private String marketCluster;

    @Schema(description = "SCK_LMS_TYPE")
    @Length(max = 64, message = "SCK_LMS_TYPE长度不能超过64个字符")
    private String sckLmsType;

    @Schema(description = "电线数量")
    @Length(max = 64, message = "电线数量长度不能超过64个字符")
    private String dxsl;

    @Schema(description = "开关数量")
    @Length(max = 64, message = "开关数量长度不能超过64个字符")
    private String kgsl;

    @Schema(description = "电线长度")
    @Length(max = 64, message = "电线长度长度不能超过64个字符")
    private String dxzd;

    @Schema(description = "电线计算值")
    @Length(max = 64, message = "电线计算值长度不能超过64个字符")
    private String dxjsz;

    @Schema(description = "电线类型")
    @Length(max = 64, message = "电线类型长度不能超过64个字符")
    private String dxlx;

    @Schema(description = "备注")
    @Length(max = 65535, message = "备注长度不能超过65535个字符")
    private String bz;
    /**
     * 合并子组件id
     */
    private Long rowId;

    @Schema(description = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "创建人ID")
    private Long createBy;

    @Schema(description = "更新时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    @Schema(description = "修改人ID")
    private Long updateBy;


}
